package com.qidianit.mes.pojo.pro;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.qidianit.mes.pojo.SysDictData;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;

/**
 * @ Description:
 * @ Author: DuYaTao
 * @ Date: 2025/9/19 - 13:50
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class WorkflowProcess {
    /**
     * 工序ID（主键）
     */
    private Long id;

    /**
     * 工单ID
     */
    private Long workflowId;

    /**
     * 工序关联ID
     */
    private Long processId;

    /**
     * 步骤顺序
     */
    private Long stepOrder;

    /**
     * 下一个关联工序ID
     */
    private Long relationNext;

    /**
     * 甘特图颜色
     */
    private String ganttColor;

    /**
     * 是否关键工序（0：否，1：是）
     */
    private Integer isCritical;

    /**
     * 是否需要检验（0：否，1：是）
     */
    private Integer needInspection;

    /**
     * 准备时间
     */
    private Long prepTime;

    /**
     * 等待时间
     */
    private Long waitTime;

    /**
     * 备注
     */
    private String remarks;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    /**
     * 创建人
     */
    private String createBy;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;

    /**
     * 更新人
     */
    private String updateBy;

    /**
     * 删除标识（0：未删除，1：已删除）
     */
    private Integer deleteFlag;

    /**
     * 当前工序
     */
    private Process process;

    /**
     * 下一条工序
     */
    private Process nextProcess;

    /**
     * 和下一个工序的关系对应的字典数据对象
     */
    private SysDictData relationNextDict;

}
